import  sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class StaDemo(QWidget):
    def __init__(self):
        super(StaDemo,self).__init__()
        self.setGeometry(300,60,20,20)
        self.setWindowTitle("sta案例")
        self.leftList=QListWidget()
        self.leftList.insertItem(0,"联系方式")
        self.leftList.insertItem(1,"个人信息")
        self.leftList.insertItem(2,"教育程度")
        self.stack1=QWidget()
        self.stack2=QWidget()
        self.stack3=QWidget()
        self.stack1UI()
        self.stack2UI()
        self.stack3UI()
        self.Stack=QStackedWidget(self)
        self.Stack.addWidget(self.stack1)
        self.Stack.addWidget(self.stack2)
        self.Stack.addWidget(self.stack3)

        hbox=QHBoxLayout(self)
        hbox.addWidget(self.leftList)
        hbox.addWidget(self.Stack)
        self.setLayout(hbox)
        self.leftList.currentRowChanged.connect(self.display)

    def stack1UI(self):
        layout = QFormLayout()
        layout.addRow("姓名", QLineEdit())
        layout.addRow("地址", QLineEdit())
        self.stack1.setLayout(layout)

    def stack2UI(self):
        layout = QFormLayout()
        sex = QHBoxLayout()
        sex.addWidget(QRadioButton("男"))
        sex.addWidget(QRadioButton("女"))
        layout.addRow(QLabel("性别"), sex)
        layout.addRow("生日", QLineEdit())
        self.stack2.setLayout(layout)

    def stack3UI(self):
        layout = QHBoxLayout()
        layout.addWidget(QLabel("科目"))
        layout.addWidget(QCheckBox("数学"))
        layout.addWidget(QCheckBox("化学"))
        self.stack3.setLayout(layout)

    def display(self,i):
        self.Stack.setCurrentIndex(i)





if __name__ == '__main__':
    app=QApplication(sys.argv)
    demo=StaDemo()

    demo.show()
    sys.exit(app.exec_())
